// 引入配置
import config from '@/common/config'
import { http } from '@/uni_modules/uview-plus'
http.setConfig((defaultConfig) => {
	/* defaultConfig 为默认全局配置 */
	defaultConfig.baseURL = config.baseURL /* 根域名 */
	return defaultConfig
})
/**
	 * 请求拦截
	 */
http.interceptors.request.use((_config) => { // 可使用async await 做异步操作
	// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
	//请求头加上token
	// const token = 'F0B3BA0E8F25BEECF03B28DAF8A62842'//
	const token = uni.getStorageSync('token');
	if(token) {
		_config.header.token = token;
	}
	_config.header.ISAPP = '2'
	_config.data = _config.data || {}
	// 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
	return _config
}, (_config) => // 可使用async await 做异步操作
Promise.reject(_config))


/**
	 * 响应拦截
	 */
http.interceptors.response.use((res) => {
	if (!res.data || res.data == '') {
		return '';
	}
	const code = Number(res.data.resCd?res.data.resCd:res.statusCode);
	switch(code){
		case 200:
			 return res.data;
			 break;
		case 1:
			 return res.data;
			 break;
		default:
			console.log(res.data.resMsg || res.errMsg)
			uni.showToast({ title: res.data.resMsg || res.errMsg });
			// return res.data;
			break;
	}
}, (response) => {
	/*  对响应错误做点什么 （statusCode !== 200）*/
	console.log('系统异常！')
	uni.showToast({ title: '系统异常!' });
	return Promise.reject(response)
})

export default http